Many modern communications require computer networks. It is infeasible to directly connect every computer to every other computer with which it might exchange emails, videos, financial transactions, or other information. Computers are instead connected to each other via switches, devices which receive data from a computer, determine an intended destination of the received data, and transmit the received data towards the destination. Computers and switches are collectively referred to as network elements, and are connected by links, and the pattern of the links between the network elements is called the network topology.
Switches are generally programmed to route a packet through the fastest available path through the network topology and to a network destination. The routing performed by each switch in a network collectively forms a traffic routing plan, the path network traffic takes between any two points in the network. Switches can detect certain network events, including a link failing, and adjust the traffic routing plan in response, including by routing traffic around the broken link. Switches cannot, however, change the network topology. If there is heavy traffic between a pair of computers that are separated by a minimum of twenty links, at least twenty links will be occupied with the heavy traffic. The network is similarly inflexible in responding to a network element going offline or coming online. Changing network topology as well as the routing plan is therefore advantageous in computer network operations.
The disadvantages of changing network topology generally outweigh the benefits in modern data-center networks. A network link generally consists of a physical cable connecting two network elements, so changing a connectivity of data-center network elements is prohibitively time-consuming.
Some data-center networks partially address the difficulty of changing network topology with a configurable patch panel, a collection of ports that may be internally connected or disconnected on command. Configurable patch panels are referred to herein as smart patch panels. In such data-center networks, network elements are connected to the smart patch panel, which can connect different network elements to each other as needed. Such data-center networks thereby have two separate network topologies: a physical topology consisting of the pattern of cables connecting network elements and smart patch panels, and a logical topology consisting of the links between network elements created by the smart patch panels. But although smart patch panels can change logical topologies quickly, the temporary degradation in network performance caused by a logical topology change still outweighs the benefit to network performance.
When the links between network elements are broken and new links are created, each network element must rediscover the logical topology and determine a routing plan appropriate for the new topology. During the adjustment period, network elements fail to recognize the fastest network traffic routes, and may mistakenly transmit data packets down links that no longer lead to the destinations of the packets.
A system to prepare for and capitalize on a network topology change would therefore be of great benefit in data-center operations.